<?xml version='1.0' encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <link href="cpip.css" rel="stylesheet" type="text/css" />
    <title>File: /Users/paulross/dev/linux/linux-3.13/arch/x86/include/asm/pgtable_types.h</title>
  </head>
  <body>
    <h1>File: /Users/paulross/dev/linux/linux-3.13/arch/x86/include/asm/pgtable_types.h</h1>
    <p>Green shading in the line number column
means the source is part of the translation unit, red means it is conditionally excluded.
Highlighted line numbers link to the translation unit page. Highlighted macros link to
the macro page.</p>
    <pre><a name="1" /><span class="Maybe">       1:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="cpu.c_macros_ref.html#_X0FTTV9YODZfUEdUQUJMRV9ERUZTX0hfMA__"><span class="b">_ASM_X86_PGTABLE_DEFS_H</span></a>
<a name="2" /><span class="Maybe">       2:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X0FTTV9YODZfUEdUQUJMRV9ERUZTX0hfMA__"><span class="b">_ASM_X86_PGTABLE_DEFS_H</span></a>
<a name="3" /><span class="Maybe">       3:</span> 
<a name="4" /><span class="Maybe">       4:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="b">linux</span><span class="f">/</span><span class="m">const</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="5" /><span class="Maybe">       5:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="m">asm</span><span class="f">/</span><span class="b">page_types</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="6" /><span class="Maybe">       6:</span> 
<a name="7" /><span class="Maybe">       7:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_RklSU1RfVVNFUl9BRERSRVNTXzA_"><span class="b">FIRST_USER_ADDRESS</span></a>    <span class="c">0</span>
<a name="8" /><span class="Maybe">       8:</span> 
<a name="9" /><span class="Maybe">       9:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfQklUX1BSRVNFTlRfMA__"><span class="b">_PAGE_BIT_PRESENT</span></a>    <span class="c">0</span>    <span class="k">/* is present */</span>
<a name="10" /><span class="Maybe">      10:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfQklUX1JXXzA_"><span class="b">_PAGE_BIT_RW</span></a>        <span class="c">1</span>    <span class="k">/* writeable */</span>
<a name="11" /><span class="Maybe">      11:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfQklUX1VTRVJfMA__"><span class="b">_PAGE_BIT_USER</span></a>        <span class="c">2</span>    <span class="k">/* userspace addressable */</span>
<a name="12" /><span class="Maybe">      12:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfQklUX1BXVF8w"><span class="b">_PAGE_BIT_PWT</span></a>        <span class="c">3</span>    <span class="k">/* page write through */</span>
<a name="13" /><span class="Maybe">      13:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfQklUX1BDRF8w"><span class="b">_PAGE_BIT_PCD</span></a>        <span class="c">4</span>    <span class="k">/* page cache disabled */</span>
<a name="14" /><span class="Maybe">      14:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfQklUX0FDQ0VTU0VEXzA_"><span class="b">_PAGE_BIT_ACCESSED</span></a>    <span class="c">5</span>    <span class="k">/* was accessed (raised by CPU) */</span>
<a name="15" /><span class="Maybe">      15:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfQklUX0RJUlRZXzA_"><span class="b">_PAGE_BIT_DIRTY</span></a>        <span class="c">6</span>    <span class="k">/* was written to (raised by CPU) */</span>
<a name="16" /><span class="Maybe">      16:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfQklUX1BTRV8w"><span class="b">_PAGE_BIT_PSE</span></a>        <span class="c">7</span>    <span class="k">/* 4 MB (or 2MB) page */</span>
<a name="17" /><span class="Maybe">      17:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X1BBR0VfQklUX1BBVF8w"><span class="b">_PAGE_BIT_PAT</span></a>        <span class="c">7</span>    <span class="k">/* on 4KB pages */</span>
<a name="18" /><span class="Maybe">      18:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfQklUX0dMT0JBTF8w"><span class="b">_PAGE_BIT_GLOBAL</span></a>    <span class="c">8</span>    <span class="k">/* Global TLB entry PPro+ */</span>
<a name="19" /><span class="Maybe">      19:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfQklUX1VOVVNFRDFfMA__"><span class="b">_PAGE_BIT_UNUSED1</span></a>    <span class="c">9</span>    <span class="k">/* available for programmer */</span>
<a name="20" /><span class="Maybe">      20:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X1BBR0VfQklUX0lPTUFQXzA_"><span class="b">_PAGE_BIT_IOMAP</span></a>        <span class="c">10</span>    <span class="k">/* flag used to indicate IO mapping */</span>
<a name="21" /><span class="Maybe">      21:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X1BBR0VfQklUX0hJRERFTl8w"><span class="b">_PAGE_BIT_HIDDEN</span></a>    <span class="c">11</span>    <span class="k">/* hidden by kmemcheck */</span>
<a name="22" /><span class="Maybe">      22:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X1BBR0VfQklUX1BBVF9MQVJHRV8w"><span class="b">_PAGE_BIT_PAT_LARGE</span></a>    <span class="c">12</span>    <span class="k">/* On 2MB or 1GB pages */</span>
<a name="23" /><span class="Maybe">      23:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfQklUX1NQRUNJQUxfMA__"><span class="b">_PAGE_BIT_SPECIAL</span></a>    <a href="cpu.c_macros_ref.html#_X1BBR0VfQklUX1VOVVNFRDFfMA__"><span class="b">_PAGE_BIT_UNUSED1</span></a>
<a name="24" /><span class="Maybe">      24:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X1BBR0VfQklUX0NQQV9URVNUXzA_"><span class="b">_PAGE_BIT_CPA_TEST</span></a>    <a href="cpu.c_macros_ref.html#_X1BBR0VfQklUX1VOVVNFRDFfMA__"><span class="b">_PAGE_BIT_UNUSED1</span></a>
<a name="25" /><span class="Maybe">      25:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X1BBR0VfQklUX1NQTElUVElOR18w"><span class="b">_PAGE_BIT_SPLITTING</span></a>    <a href="cpu.c_macros_ref.html#_X1BBR0VfQklUX1VOVVNFRDFfMA__"><span class="b">_PAGE_BIT_UNUSED1</span></a> <span class="k">/* only valid on a PSE pmd */</span>
<a name="26" /><span class="Maybe">      26:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfQklUX05YXzA_"><span class="b">_PAGE_BIT_NX</span></a>           <span class="c">63</span>       <span class="k">/* No execute: only valid after cpuid check */</span>
<a name="27" /><span class="Maybe">      27:</span> 
<a name="28" /><span class="Maybe">      28:</span> <span class="k">/* If _PAGE_BIT_PRESENT is clear, we use these: */</span>
<a name="29" /><span class="Maybe">      29:</span> <span class="k">/* - if the user mapped it with PROT_NONE; pte_present gives true */</span>
<a name="30" /><span class="Maybe">      30:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfQklUX1BST1ROT05FXzA_"><span class="b">_PAGE_BIT_PROTNONE</span></a>    <a href="cpu.c_macros_ref.html#_X1BBR0VfQklUX0dMT0JBTF8w"><span class="b">_PAGE_BIT_GLOBAL</span></a>
<a name="31" /><span class="Maybe">      31:</span> <span class="k">/* - set: nonlinear file mapping, saved PTE; unset:swap */</span>
<a name="32" /><span class="Maybe">      32:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfQklUX0ZJTEVfMA__"><span class="b">_PAGE_BIT_FILE</span></a>        <a href="cpu.c_macros_ref.html#_X1BBR0VfQklUX0RJUlRZXzA_"><span class="b">_PAGE_BIT_DIRTY</span></a>
<a name="33" /><span class="Maybe">      33:</span> 
<a name="34" /><span class="Maybe">      34:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfUFJFU0VOVF8w"><span class="b">_PAGE_PRESENT</span></a>    <span class="f">(</span><a href="cpu.c_macros_ref.html#_X0FUXzA_"><span class="b">_AT</span></a><span class="f">(</span><span class="b">pteval_t</span><span class="f">,</span> <span class="c">1</span><span class="f">)</span> <span class="f">&lt;&lt;</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfQklUX1BSRVNFTlRfMA__"><span class="b">_PAGE_BIT_PRESENT</span></a><span class="f">)</span>
<a name="35" /><span class="Maybe">      35:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfUldfMA__"><span class="b">_PAGE_RW</span></a>    <span class="f">(</span><a href="cpu.c_macros_ref.html#_X0FUXzA_"><span class="b">_AT</span></a><span class="f">(</span><span class="b">pteval_t</span><span class="f">,</span> <span class="c">1</span><span class="f">)</span> <span class="f">&lt;&lt;</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfQklUX1JXXzA_"><span class="b">_PAGE_BIT_RW</span></a><span class="f">)</span>
<a name="36" /><span class="Maybe">      36:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfVVNFUl8w"><span class="b">_PAGE_USER</span></a>    <span class="f">(</span><a href="cpu.c_macros_ref.html#_X0FUXzA_"><span class="b">_AT</span></a><span class="f">(</span><span class="b">pteval_t</span><span class="f">,</span> <span class="c">1</span><span class="f">)</span> <span class="f">&lt;&lt;</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfQklUX1VTRVJfMA__"><span class="b">_PAGE_BIT_USER</span></a><span class="f">)</span>
<a name="37" /><span class="Maybe">      37:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfUFdUXzA_"><span class="b">_PAGE_PWT</span></a>    <span class="f">(</span><a href="cpu.c_macros_ref.html#_X0FUXzA_"><span class="b">_AT</span></a><span class="f">(</span><span class="b">pteval_t</span><span class="f">,</span> <span class="c">1</span><span class="f">)</span> <span class="f">&lt;&lt;</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfQklUX1BXVF8w"><span class="b">_PAGE_BIT_PWT</span></a><span class="f">)</span>
<a name="38" /><span class="Maybe">      38:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfUENEXzA_"><span class="b">_PAGE_PCD</span></a>    <span class="f">(</span><a href="cpu.c_macros_ref.html#_X0FUXzA_"><span class="b">_AT</span></a><span class="f">(</span><span class="b">pteval_t</span><span class="f">,</span> <span class="c">1</span><span class="f">)</span> <span class="f">&lt;&lt;</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfQklUX1BDRF8w"><span class="b">_PAGE_BIT_PCD</span></a><span class="f">)</span>
<a name="39" /><span class="Maybe">      39:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfQUNDRVNTRURfMA__"><span class="b">_PAGE_ACCESSED</span></a>    <span class="f">(</span><a href="cpu.c_macros_ref.html#_X0FUXzA_"><span class="b">_AT</span></a><span class="f">(</span><span class="b">pteval_t</span><span class="f">,</span> <span class="c">1</span><span class="f">)</span> <span class="f">&lt;&lt;</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfQklUX0FDQ0VTU0VEXzA_"><span class="b">_PAGE_BIT_ACCESSED</span></a><span class="f">)</span>
<a name="40" /><span class="Maybe">      40:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfRElSVFlfMA__"><span class="b">_PAGE_DIRTY</span></a>    <span class="f">(</span><a href="cpu.c_macros_ref.html#_X0FUXzA_"><span class="b">_AT</span></a><span class="f">(</span><span class="b">pteval_t</span><span class="f">,</span> <span class="c">1</span><span class="f">)</span> <span class="f">&lt;&lt;</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfQklUX0RJUlRZXzA_"><span class="b">_PAGE_BIT_DIRTY</span></a><span class="f">)</span>
<a name="41" /><span class="Maybe">      41:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfUFNFXzA_"><span class="b">_PAGE_PSE</span></a>    <span class="f">(</span><a href="cpu.c_macros_ref.html#_X0FUXzA_"><span class="b">_AT</span></a><span class="f">(</span><span class="b">pteval_t</span><span class="f">,</span> <span class="c">1</span><span class="f">)</span> <span class="f">&lt;&lt;</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfQklUX1BTRV8w"><span class="b">_PAGE_BIT_PSE</span></a><span class="f">)</span>
<a name="42" /><span class="Maybe">      42:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfR0xPQkFMXzA_"><span class="b">_PAGE_GLOBAL</span></a>    <span class="f">(</span><a href="cpu.c_macros_ref.html#_X0FUXzA_"><span class="b">_AT</span></a><span class="f">(</span><span class="b">pteval_t</span><span class="f">,</span> <span class="c">1</span><span class="f">)</span> <span class="f">&lt;&lt;</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfQklUX0dMT0JBTF8w"><span class="b">_PAGE_BIT_GLOBAL</span></a><span class="f">)</span>
<a name="43" /><span class="Maybe">      43:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X1BBR0VfVU5VU0VEMV8w"><span class="b">_PAGE_UNUSED1</span></a>    <span class="f">(</span><a href="cpu.c_macros_ref.html#_X0FUXzA_"><span class="b">_AT</span></a><span class="f">(</span><span class="b">pteval_t</span><span class="f">,</span> <span class="c">1</span><span class="f">)</span> <span class="f">&lt;&lt;</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfQklUX1VOVVNFRDFfMA__"><span class="b">_PAGE_BIT_UNUSED1</span></a><span class="f">)</span>
<a name="44" /><span class="Maybe">      44:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X1BBR0VfSU9NQVBfMA__"><span class="b">_PAGE_IOMAP</span></a>    <span class="f">(</span><a href="cpu.c_macros_ref.html#_X0FUXzA_"><span class="b">_AT</span></a><span class="f">(</span><span class="b">pteval_t</span><span class="f">,</span> <span class="c">1</span><span class="f">)</span> <span class="f">&lt;&lt;</span> <a href="cpu.c_macros_noref.html#_X1BBR0VfQklUX0lPTUFQXzA_"><span class="b">_PAGE_BIT_IOMAP</span></a><span class="f">)</span>
<a name="45" /><span class="Maybe">      45:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X1BBR0VfUEFUXzA_"><span class="b">_PAGE_PAT</span></a>    <span class="f">(</span><a href="cpu.c_macros_ref.html#_X0FUXzA_"><span class="b">_AT</span></a><span class="f">(</span><span class="b">pteval_t</span><span class="f">,</span> <span class="c">1</span><span class="f">)</span> <span class="f">&lt;&lt;</span> <a href="cpu.c_macros_noref.html#_X1BBR0VfQklUX1BBVF8w"><span class="b">_PAGE_BIT_PAT</span></a><span class="f">)</span>
<a name="46" /><span class="Maybe">      46:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X1BBR0VfUEFUX0xBUkdFXzA_"><span class="b">_PAGE_PAT_LARGE</span></a> <span class="f">(</span><a href="cpu.c_macros_ref.html#_X0FUXzA_"><span class="b">_AT</span></a><span class="f">(</span><span class="b">pteval_t</span><span class="f">,</span> <span class="c">1</span><span class="f">)</span> <span class="f">&lt;&lt;</span> <a href="cpu.c_macros_noref.html#_X1BBR0VfQklUX1BBVF9MQVJHRV8w"><span class="b">_PAGE_BIT_PAT_LARGE</span></a><span class="f">)</span>
<a name="47" /><span class="Maybe">      47:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfU1BFQ0lBTF8w"><span class="b">_PAGE_SPECIAL</span></a>    <span class="f">(</span><a href="cpu.c_macros_ref.html#_X0FUXzA_"><span class="b">_AT</span></a><span class="f">(</span><span class="b">pteval_t</span><span class="f">,</span> <span class="c">1</span><span class="f">)</span> <span class="f">&lt;&lt;</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfQklUX1NQRUNJQUxfMA__"><span class="b">_PAGE_BIT_SPECIAL</span></a><span class="f">)</span>
<a name="48" /><span class="Maybe">      48:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X1BBR0VfQ1BBX1RFU1RfMA__"><span class="b">_PAGE_CPA_TEST</span></a>    <span class="f">(</span><a href="cpu.c_macros_ref.html#_X0FUXzA_"><span class="b">_AT</span></a><span class="f">(</span><span class="b">pteval_t</span><span class="f">,</span> <span class="c">1</span><span class="f">)</span> <span class="f">&lt;&lt;</span> <a href="cpu.c_macros_noref.html#_X1BBR0VfQklUX0NQQV9URVNUXzA_"><span class="b">_PAGE_BIT_CPA_TEST</span></a><span class="f">)</span>
<a name="49" /><span class="Maybe">      49:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X1BBR0VfU1BMSVRUSU5HXzA_"><span class="b">_PAGE_SPLITTING</span></a>    <span class="f">(</span><a href="cpu.c_macros_ref.html#_X0FUXzA_"><span class="b">_AT</span></a><span class="f">(</span><span class="b">pteval_t</span><span class="f">,</span> <span class="c">1</span><span class="f">)</span> <span class="f">&lt;&lt;</span> <a href="cpu.c_macros_noref.html#_X1BBR0VfQklUX1NQTElUVElOR18w"><span class="b">_PAGE_BIT_SPLITTING</span></a><span class="f">)</span>
<a name="50" /><span class="Maybe">      50:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19IQVZFX0FSQ0hfUFRFX1NQRUNJQUxfMA__"><span class="b">__HAVE_ARCH_PTE_SPECIAL</span></a>
<a name="51" /><span class="Maybe">      51:</span> 
<a name="52" /><span class="False">      52:</span> <span class="f">#</span><span class="n">ifdef</span> <span class="b">CONFIG_KMEMCHECK</span>
<a name="53" /><span class="False">      53:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfSElEREVOXzA_"><span class="b">_PAGE_HIDDEN</span></a>    <span class="f">(</span><a href="cpu.c_macros_ref.html#_X0FUXzA_"><span class="b">_AT</span></a><span class="f">(</span><span class="b">pteval_t</span><span class="f">,</span> <span class="c">1</span><span class="f">)</span> <span class="f">&lt;&lt;</span> <a href="cpu.c_macros_noref.html#_X1BBR0VfQklUX0hJRERFTl8w"><span class="b">_PAGE_BIT_HIDDEN</span></a><span class="f">)</span>
<a name="54" /><span class="Maybe">      54:</span> <span class="f">#</span><span class="n">else</span>
<a name="55" /><span class="Maybe">      55:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfSElEREVOXzA_"><span class="b">_PAGE_HIDDEN</span></a>    <span class="f">(</span><a href="cpu.c_macros_ref.html#_X0FUXzA_"><span class="b">_AT</span></a><span class="f">(</span><span class="b">pteval_t</span><span class="f">,</span> <span class="c">0</span><span class="f">)</span><span class="f">)</span>
<a name="56" /><span class="Maybe">      56:</span> <span class="f">#</span><span class="n">endif</span>
<a name="57" /><span class="Maybe">      57:</span> 
<a name="58" /><span class="Maybe">      58:</span> <span class="k">/*</span>
<a name="59" /><span class="Maybe">      59:</span> <span class="k"> * The same hidden bit is used by kmemcheck, but since kmemcheck</span>
<a name="60" /><span class="Maybe">      60:</span> <span class="k"> * works on kernel pages while soft-dirty engine on user space,</span>
<a name="61" /><span class="Maybe">      61:</span> <span class="k"> * they do not conflict with each other.</span>
<a name="62" /><span class="Maybe">      62:</span> <span class="k"> */</span>
<a name="63" /><span class="Maybe">      63:</span> 
<a name="64" /><span class="Maybe">      64:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X1BBR0VfQklUX1NPRlRfRElSVFlfMA__"><span class="b">_PAGE_BIT_SOFT_DIRTY</span></a>    <a href="cpu.c_macros_noref.html#_X1BBR0VfQklUX0hJRERFTl8w"><span class="b">_PAGE_BIT_HIDDEN</span></a>
<a name="65" /><span class="Maybe">      65:</span> 
<a name="66" /><span class="False">      66:</span> <span class="f">#</span><span class="n">ifdef</span> <span class="b">CONFIG_MEM_SOFT_DIRTY</span>
<a name="67" /><span class="False">      67:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfU09GVF9ESVJUWV8w"><span class="b">_PAGE_SOFT_DIRTY</span></a>    <span class="f">(</span><a href="cpu.c_macros_ref.html#_X0FUXzA_"><span class="b">_AT</span></a><span class="f">(</span><span class="b">pteval_t</span><span class="f">,</span> <span class="c">1</span><span class="f">)</span> <span class="f">&lt;&lt;</span> <a href="cpu.c_macros_noref.html#_X1BBR0VfQklUX1NPRlRfRElSVFlfMA__"><span class="b">_PAGE_BIT_SOFT_DIRTY</span></a><span class="f">)</span>
<a name="68" /><span class="Maybe">      68:</span> <span class="f">#</span><span class="n">else</span>
<a name="69" /><span class="Maybe">      69:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfU09GVF9ESVJUWV8w"><span class="b">_PAGE_SOFT_DIRTY</span></a>    <span class="f">(</span><a href="cpu.c_macros_ref.html#_X0FUXzA_"><span class="b">_AT</span></a><span class="f">(</span><span class="b">pteval_t</span><span class="f">,</span> <span class="c">0</span><span class="f">)</span><span class="f">)</span>
<a name="70" /><span class="Maybe">      70:</span> <span class="f">#</span><span class="n">endif</span>
<a name="71" /><span class="Maybe">      71:</span> 
<a name="72" /><span class="Maybe">      72:</span> <span class="k">/*</span>
<a name="73" /><span class="Maybe">      73:</span> <span class="k"> * Tracking soft dirty bit when a page goes to a swap is tricky.</span>
<a name="74" /><span class="Maybe">      74:</span> <span class="k"> * We need a bit which can be stored in pte _and_ not conflict</span>
<a name="75" /><span class="Maybe">      75:</span> <span class="k"> * with swap entry format. On x86 bits 6 and 7 are *not* involved</span>
<a name="76" /><span class="Maybe">      76:</span> <span class="k"> * into swap entry computation, but bit 6 is used for nonlinear</span>
<a name="77" /><span class="Maybe">      77:</span> <span class="k"> * file mapping, so we borrow bit 7 for soft dirty tracking.</span>
<a name="78" /><span class="Maybe">      78:</span> <span class="k"> *</span>
<a name="79" /><span class="Maybe">      79:</span> <span class="k"> * Please note that this bit must be treated as swap dirty page</span>
<a name="80" /><span class="Maybe">      80:</span> <span class="k"> * mark if and only if the PTE has present bit clear!</span>
<a name="81" /><span class="Maybe">      81:</span> <span class="k"> */</span>
<a name="82" /><span class="False">      82:</span> <span class="f">#</span><span class="n">ifdef</span> <span class="b">CONFIG_MEM_SOFT_DIRTY</span>
<a name="83" /><span class="False">      83:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfU1dQX1NPRlRfRElSVFlfMA__"><span class="b">_PAGE_SWP_SOFT_DIRTY</span></a>    <a href="cpu.c_macros_ref.html#_X1BBR0VfUFNFXzA_"><span class="b">_PAGE_PSE</span></a>
<a name="84" /><span class="Maybe">      84:</span> <span class="f">#</span><span class="n">else</span>
<a name="85" /><span class="Maybe">      85:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfU1dQX1NPRlRfRElSVFlfMA__"><span class="b">_PAGE_SWP_SOFT_DIRTY</span></a>    <span class="f">(</span><a href="cpu.c_macros_ref.html#_X0FUXzA_"><span class="b">_AT</span></a><span class="f">(</span><span class="b">pteval_t</span><span class="f">,</span> <span class="c">0</span><span class="f">)</span><span class="f">)</span>
<a name="86" /><span class="Maybe">      86:</span> <span class="f">#</span><span class="n">endif</span>
<a name="87" /><span class="Maybe">      87:</span> 
<a name="88" /><span class="Maybe">      88:</span> <span class="f">#</span><span class="n">if</span> <span class="b">defined</span><span class="f">(</span><a href="cpu.c_macros_ref.html#_Q09ORklHX1g4Nl82NF8w"><span class="b">CONFIG_X86_64</span></a><span class="f">)</span> <span class="f">||</span> <span class="b">defined</span><span class="f">(</span><span class="b">CONFIG_X86_PAE</span><span class="f">)</span>
<a name="89" /><span class="Maybe">      89:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfTlhfMA__"><span class="b">_PAGE_NX</span></a>    <span class="f">(</span><a href="cpu.c_macros_ref.html#_X0FUXzA_"><span class="b">_AT</span></a><span class="f">(</span><span class="b">pteval_t</span><span class="f">,</span> <span class="c">1</span><span class="f">)</span> <span class="f">&lt;&lt;</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfQklUX05YXzA_"><span class="b">_PAGE_BIT_NX</span></a><span class="f">)</span>
<a name="90" /><span class="False">      90:</span> <span class="f">#</span><span class="n">else</span>
<a name="91" /><span class="False">      91:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfTlhfMA__"><span class="b">_PAGE_NX</span></a>    <span class="f">(</span><a href="cpu.c_macros_ref.html#_X0FUXzA_"><span class="b">_AT</span></a><span class="f">(</span><span class="b">pteval_t</span><span class="f">,</span> <span class="c">0</span><span class="f">)</span><span class="f">)</span>
<a name="92" /><span class="Maybe">      92:</span> <span class="f">#</span><span class="n">endif</span>
<a name="93" /><span class="Maybe">      93:</span> 
<a name="94" /><span class="Maybe">      94:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfRklMRV8w"><span class="b">_PAGE_FILE</span></a>    <span class="f">(</span><a href="cpu.c_macros_ref.html#_X0FUXzA_"><span class="b">_AT</span></a><span class="f">(</span><span class="b">pteval_t</span><span class="f">,</span> <span class="c">1</span><span class="f">)</span> <span class="f">&lt;&lt;</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfQklUX0ZJTEVfMA__"><span class="b">_PAGE_BIT_FILE</span></a><span class="f">)</span>
<a name="95" /><span class="Maybe">      95:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfUFJPVE5PTkVfMA__"><span class="b">_PAGE_PROTNONE</span></a>    <span class="f">(</span><a href="cpu.c_macros_ref.html#_X0FUXzA_"><span class="b">_AT</span></a><span class="f">(</span><span class="b">pteval_t</span><span class="f">,</span> <span class="c">1</span><span class="f">)</span> <span class="f">&lt;&lt;</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfQklUX1BST1ROT05FXzA_"><span class="b">_PAGE_BIT_PROTNONE</span></a><span class="f">)</span>
<a name="96" /><span class="Maybe">      96:</span> 
<a name="97" /><span class="Maybe">      97:</span> <span class="k">/*</span>
<a name="98" /><span class="Maybe">      98:</span> <span class="k"> * _PAGE_NUMA indicates that this page will trigger a numa hinting</span>
<a name="99" /><span class="Maybe">      99:</span> <span class="k"> * minor page fault to gather numa placement statistics (see</span>
<a name="100" /><span class="Maybe">     100:</span> <span class="k"> * pte_numa()). The bit picked (8) is within the range between</span>
<a name="101" /><span class="Maybe">     101:</span> <span class="k"> * _PAGE_FILE (6) and _PAGE_PROTNONE (8) bits. Therefore, it doesn&apos;t</span>
<a name="102" /><span class="Maybe">     102:</span> <span class="k"> * require changes to the swp entry format because that bit is always</span>
<a name="103" /><span class="Maybe">     103:</span> <span class="k"> * zero when the pte is not present.</span>
<a name="104" /><span class="Maybe">     104:</span> <span class="k"> *</span>
<a name="105" /><span class="Maybe">     105:</span> <span class="k"> * The bit picked must be always zero when the pmd is present and not</span>
<a name="106" /><span class="Maybe">     106:</span> <span class="k"> * present, so that we don&apos;t lose information when we set it while</span>
<a name="107" /><span class="Maybe">     107:</span> <span class="k"> * atomically clearing the present bit.</span>
<a name="108" /><span class="Maybe">     108:</span> <span class="k"> *</span>
<a name="109" /><span class="Maybe">     109:</span> <span class="k"> * Because we shared the same bit (8) with _PAGE_PROTNONE this can be</span>
<a name="110" /><span class="Maybe">     110:</span> <span class="k"> * interpreted as _PAGE_NUMA only in places that _PAGE_PROTNONE</span>
<a name="111" /><span class="Maybe">     111:</span> <span class="k"> * couldn&apos;t reach, like handle_mm_fault() (see access_error in</span>
<a name="112" /><span class="Maybe">     112:</span> <span class="k"> * arch/x86/mm/fault.c, the vma protection must not be PROT_NONE for</span>
<a name="113" /><span class="Maybe">     113:</span> <span class="k"> * handle_mm_fault() to be invoked).</span>
<a name="114" /><span class="Maybe">     114:</span> <span class="k"> */</span>
<a name="115" /><span class="Maybe">     115:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfTlVNQV8w"><span class="b">_PAGE_NUMA</span></a>    <a href="cpu.c_macros_ref.html#_X1BBR0VfUFJPVE5PTkVfMA__"><span class="b">_PAGE_PROTNONE</span></a>
<a name="116" /><span class="Maybe">     116:</span> 
<a name="117" /><span class="Maybe">     117:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X1BBR0VfVEFCTEVfMA__"><span class="b">_PAGE_TABLE</span></a>    <span class="f">(</span><a href="cpu.c_macros_ref.html#_X1BBR0VfUFJFU0VOVF8w"><span class="b">_PAGE_PRESENT</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfUldfMA__"><span class="b">_PAGE_RW</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfVVNFUl8w"><span class="b">_PAGE_USER</span></a> <span class="f">|</span>    \
<a name="118" /><span class="Maybe">     118:</span>              <a href="cpu.c_macros_ref.html#_X1BBR0VfQUNDRVNTRURfMA__"><span class="b">_PAGE_ACCESSED</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfRElSVFlfMA__"><span class="b">_PAGE_DIRTY</span></a><span class="f">)</span>
<a name="119" /><span class="Maybe">     119:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X0tFUk5QR19UQUJMRV8w"><span class="b">_KERNPG_TABLE</span></a>    <span class="f">(</span><a href="cpu.c_macros_ref.html#_X1BBR0VfUFJFU0VOVF8w"><span class="b">_PAGE_PRESENT</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfUldfMA__"><span class="b">_PAGE_RW</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfQUNDRVNTRURfMA__"><span class="b">_PAGE_ACCESSED</span></a> <span class="f">|</span>    \
<a name="120" /><span class="Maybe">     120:</span>              <a href="cpu.c_macros_ref.html#_X1BBR0VfRElSVFlfMA__"><span class="b">_PAGE_DIRTY</span></a><span class="f">)</span>
<a name="121" /><span class="Maybe">     121:</span> 
<a name="122" /><span class="Maybe">     122:</span> <span class="k">/* Set of bits not changed in pte_modify */</span>
<a name="123" /><span class="Maybe">     123:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfQ0hHX01BU0tfMA__"><span class="b">_PAGE_CHG_MASK</span></a>    <span class="f">(</span><a href="cpu.c_macros_ref.html#_UFRFX1BGTl9NQVNLXzA_"><span class="b">PTE_PFN_MASK</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfUENEXzA_"><span class="b">_PAGE_PCD</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfUFdUXzA_"><span class="b">_PAGE_PWT</span></a> <span class="f">|</span>        \
<a name="124" /><span class="Maybe">     124:</span>              <a href="cpu.c_macros_ref.html#_X1BBR0VfU1BFQ0lBTF8w"><span class="b">_PAGE_SPECIAL</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfQUNDRVNTRURfMA__"><span class="b">_PAGE_ACCESSED</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfRElSVFlfMA__"><span class="b">_PAGE_DIRTY</span></a><span class="f">)</span>
<a name="125" /><span class="Maybe">     125:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X0hQQUdFX0NIR19NQVNLXzA_"><span class="b">_HPAGE_CHG_MASK</span></a> <span class="f">(</span><a href="cpu.c_macros_ref.html#_X1BBR0VfQ0hHX01BU0tfMA__"><span class="b">_PAGE_CHG_MASK</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfUFNFXzA_"><span class="b">_PAGE_PSE</span></a><span class="f">)</span>
<a name="126" /><span class="Maybe">     126:</span> 
<a name="127" /><span class="Maybe">     127:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X1BBR0VfQ0FDSEVfTUFTS18w"><span class="b">_PAGE_CACHE_MASK</span></a>    <span class="f">(</span><a href="cpu.c_macros_ref.html#_X1BBR0VfUENEXzA_"><span class="b">_PAGE_PCD</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfUFdUXzA_"><span class="b">_PAGE_PWT</span></a><span class="f">)</span>
<a name="128" /><span class="Maybe">     128:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfQ0FDSEVfV0JfMA__"><span class="b">_PAGE_CACHE_WB</span></a>        <span class="f">(</span><span class="c">0</span><span class="f">)</span>
<a name="129" /><span class="Maybe">     129:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfQ0FDSEVfV0NfMA__"><span class="b">_PAGE_CACHE_WC</span></a>        <span class="f">(</span><a href="cpu.c_macros_ref.html#_X1BBR0VfUFdUXzA_"><span class="b">_PAGE_PWT</span></a><span class="f">)</span>
<a name="130" /><span class="Maybe">     130:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfQ0FDSEVfVUNfTUlOVVNfMA__"><span class="b">_PAGE_CACHE_UC_MINUS</span></a>    <span class="f">(</span><a href="cpu.c_macros_ref.html#_X1BBR0VfUENEXzA_"><span class="b">_PAGE_PCD</span></a><span class="f">)</span>
<a name="131" /><span class="Maybe">     131:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X1BBR0VfQ0FDSEVfVUNfMA__"><span class="b">_PAGE_CACHE_UC</span></a>        <span class="f">(</span><a href="cpu.c_macros_ref.html#_X1BBR0VfUENEXzA_"><span class="b">_PAGE_PCD</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfUFdUXzA_"><span class="b">_PAGE_PWT</span></a><span class="f">)</span>
<a name="132" /><span class="Maybe">     132:</span> 
<a name="133" /><span class="Maybe">     133:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_UEFHRV9OT05FXzA_"><span class="b">PAGE_NONE</span></a>    <a href="cpu.c_macros_ref.html#_X19wZ3Byb3RfMA__"><span class="b">__pgprot</span></a><span class="f">(</span><a href="cpu.c_macros_ref.html#_X1BBR0VfUFJPVE5PTkVfMA__"><span class="b">_PAGE_PROTNONE</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfQUNDRVNTRURfMA__"><span class="b">_PAGE_ACCESSED</span></a><span class="f">)</span>
<a name="134" /><span class="Maybe">     134:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_UEFHRV9TSEFSRURfMA__"><span class="b">PAGE_SHARED</span></a>    <a href="cpu.c_macros_ref.html#_X19wZ3Byb3RfMA__"><span class="b">__pgprot</span></a><span class="f">(</span><a href="cpu.c_macros_ref.html#_X1BBR0VfUFJFU0VOVF8w"><span class="b">_PAGE_PRESENT</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfUldfMA__"><span class="b">_PAGE_RW</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfVVNFUl8w"><span class="b">_PAGE_USER</span></a> <span class="f">|</span> \
<a name="135" /><span class="Maybe">     135:</span>                  <a href="cpu.c_macros_ref.html#_X1BBR0VfQUNDRVNTRURfMA__"><span class="b">_PAGE_ACCESSED</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfTlhfMA__"><span class="b">_PAGE_NX</span></a><span class="f">)</span>
<a name="136" /><span class="Maybe">     136:</span> 
<a name="137" /><span class="Maybe">     137:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_UEFHRV9TSEFSRURfRVhFQ18w"><span class="b">PAGE_SHARED_EXEC</span></a>    <a href="cpu.c_macros_ref.html#_X19wZ3Byb3RfMA__"><span class="b">__pgprot</span></a><span class="f">(</span><a href="cpu.c_macros_ref.html#_X1BBR0VfUFJFU0VOVF8w"><span class="b">_PAGE_PRESENT</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfUldfMA__"><span class="b">_PAGE_RW</span></a> <span class="f">|</span>    \
<a name="138" /><span class="Maybe">     138:</span>                      <a href="cpu.c_macros_ref.html#_X1BBR0VfVVNFUl8w"><span class="b">_PAGE_USER</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfQUNDRVNTRURfMA__"><span class="b">_PAGE_ACCESSED</span></a><span class="f">)</span>
<a name="139" /><span class="Maybe">     139:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_UEFHRV9DT1BZX05PRVhFQ18w"><span class="b">PAGE_COPY_NOEXEC</span></a>    <a href="cpu.c_macros_ref.html#_X19wZ3Byb3RfMA__"><span class="b">__pgprot</span></a><span class="f">(</span><a href="cpu.c_macros_ref.html#_X1BBR0VfUFJFU0VOVF8w"><span class="b">_PAGE_PRESENT</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfVVNFUl8w"><span class="b">_PAGE_USER</span></a> <span class="f">|</span>    \
<a name="140" /><span class="Maybe">     140:</span>                      <a href="cpu.c_macros_ref.html#_X1BBR0VfQUNDRVNTRURfMA__"><span class="b">_PAGE_ACCESSED</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfTlhfMA__"><span class="b">_PAGE_NX</span></a><span class="f">)</span>
<a name="141" /><span class="Maybe">     141:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_UEFHRV9DT1BZX0VYRUNfMA__"><span class="b">PAGE_COPY_EXEC</span></a>        <a href="cpu.c_macros_ref.html#_X19wZ3Byb3RfMA__"><span class="b">__pgprot</span></a><span class="f">(</span><a href="cpu.c_macros_ref.html#_X1BBR0VfUFJFU0VOVF8w"><span class="b">_PAGE_PRESENT</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfVVNFUl8w"><span class="b">_PAGE_USER</span></a> <span class="f">|</span>    \
<a name="142" /><span class="Maybe">     142:</span>                      <a href="cpu.c_macros_ref.html#_X1BBR0VfQUNDRVNTRURfMA__"><span class="b">_PAGE_ACCESSED</span></a><span class="f">)</span>
<a name="143" /><span class="Maybe">     143:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_UEFHRV9DT1BZXzA_"><span class="b">PAGE_COPY</span></a>        <a href="cpu.c_macros_noref.html#_UEFHRV9DT1BZX05PRVhFQ18w"><span class="b">PAGE_COPY_NOEXEC</span></a>
<a name="144" /><span class="Maybe">     144:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_UEFHRV9SRUFET05MWV8w"><span class="b">PAGE_READONLY</span></a>        <a href="cpu.c_macros_ref.html#_X19wZ3Byb3RfMA__"><span class="b">__pgprot</span></a><span class="f">(</span><a href="cpu.c_macros_ref.html#_X1BBR0VfUFJFU0VOVF8w"><span class="b">_PAGE_PRESENT</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfVVNFUl8w"><span class="b">_PAGE_USER</span></a> <span class="f">|</span>    \
<a name="145" /><span class="Maybe">     145:</span>                      <a href="cpu.c_macros_ref.html#_X1BBR0VfQUNDRVNTRURfMA__"><span class="b">_PAGE_ACCESSED</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfTlhfMA__"><span class="b">_PAGE_NX</span></a><span class="f">)</span>
<a name="146" /><span class="Maybe">     146:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_UEFHRV9SRUFET05MWV9FWEVDXzA_"><span class="b">PAGE_READONLY_EXEC</span></a>    <a href="cpu.c_macros_ref.html#_X19wZ3Byb3RfMA__"><span class="b">__pgprot</span></a><span class="f">(</span><a href="cpu.c_macros_ref.html#_X1BBR0VfUFJFU0VOVF8w"><span class="b">_PAGE_PRESENT</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfVVNFUl8w"><span class="b">_PAGE_USER</span></a> <span class="f">|</span>    \
<a name="147" /><span class="Maybe">     147:</span>                      <a href="cpu.c_macros_ref.html#_X1BBR0VfQUNDRVNTRURfMA__"><span class="b">_PAGE_ACCESSED</span></a><span class="f">)</span>
<a name="148" /><span class="Maybe">     148:</span> 
<a name="149" /><span class="Maybe">     149:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF9FWEVDXzA_"><span class="b">__PAGE_KERNEL_EXEC</span></a>                        \
<a name="150" /><span class="Maybe">     150:</span>     <span class="f">(</span><a href="cpu.c_macros_ref.html#_X1BBR0VfUFJFU0VOVF8w"><span class="b">_PAGE_PRESENT</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfUldfMA__"><span class="b">_PAGE_RW</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfRElSVFlfMA__"><span class="b">_PAGE_DIRTY</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfQUNDRVNTRURfMA__"><span class="b">_PAGE_ACCESSED</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfR0xPQkFMXzA_"><span class="b">_PAGE_GLOBAL</span></a><span class="f">)</span>
<a name="151" /><span class="Maybe">     151:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF8w"><span class="b">__PAGE_KERNEL</span></a>        <span class="f">(</span><a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF9FWEVDXzA_"><span class="b">__PAGE_KERNEL_EXEC</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfTlhfMA__"><span class="b">_PAGE_NX</span></a><span class="f">)</span>
<a name="152" /><span class="Maybe">     152:</span> 
<a name="153" /><span class="Maybe">     153:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF9ST18w"><span class="b">__PAGE_KERNEL_RO</span></a>        <span class="f">(</span><a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF8w"><span class="b">__PAGE_KERNEL</span></a> <span class="f">&amp;</span> <span class="f">~</span><a href="cpu.c_macros_ref.html#_X1BBR0VfUldfMA__"><span class="b">_PAGE_RW</span></a><span class="f">)</span>
<a name="154" /><span class="Maybe">     154:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF9SWF8w"><span class="b">__PAGE_KERNEL_RX</span></a>        <span class="f">(</span><a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF9FWEVDXzA_"><span class="b">__PAGE_KERNEL_EXEC</span></a> <span class="f">&amp;</span> <span class="f">~</span><a href="cpu.c_macros_ref.html#_X1BBR0VfUldfMA__"><span class="b">_PAGE_RW</span></a><span class="f">)</span>
<a name="155" /><span class="Maybe">     155:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF9FWEVDX05PQ0FDSEVfMA__"><span class="b">__PAGE_KERNEL_EXEC_NOCACHE</span></a>    <span class="f">(</span><a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF9FWEVDXzA_"><span class="b">__PAGE_KERNEL_EXEC</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfUENEXzA_"><span class="b">_PAGE_PCD</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfUFdUXzA_"><span class="b">_PAGE_PWT</span></a><span class="f">)</span>
<a name="156" /><span class="Maybe">     156:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF9XQ18w"><span class="b">__PAGE_KERNEL_WC</span></a>        <span class="f">(</span><a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF8w"><span class="b">__PAGE_KERNEL</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfQ0FDSEVfV0NfMA__"><span class="b">_PAGE_CACHE_WC</span></a><span class="f">)</span>
<a name="157" /><span class="Maybe">     157:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF9OT0NBQ0hFXzA_"><span class="b">__PAGE_KERNEL_NOCACHE</span></a>        <span class="f">(</span><a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF8w"><span class="b">__PAGE_KERNEL</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfUENEXzA_"><span class="b">_PAGE_PCD</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfUFdUXzA_"><span class="b">_PAGE_PWT</span></a><span class="f">)</span>
<a name="158" /><span class="Maybe">     158:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF9VQ19NSU5VU18w"><span class="b">__PAGE_KERNEL_UC_MINUS</span></a>        <span class="f">(</span><a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF8w"><span class="b">__PAGE_KERNEL</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfUENEXzA_"><span class="b">_PAGE_PCD</span></a><span class="f">)</span>
<a name="159" /><span class="Maybe">     159:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF9WU1lTQ0FMTF8w"><span class="b">__PAGE_KERNEL_VSYSCALL</span></a>        <span class="f">(</span><a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF9SWF8w"><span class="b">__PAGE_KERNEL_RX</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfVVNFUl8w"><span class="b">_PAGE_USER</span></a><span class="f">)</span>
<a name="160" /><span class="Maybe">     160:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF9WVkFSXzA_"><span class="b">__PAGE_KERNEL_VVAR</span></a>        <span class="f">(</span><a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF9ST18w"><span class="b">__PAGE_KERNEL_RO</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfVVNFUl8w"><span class="b">_PAGE_USER</span></a><span class="f">)</span>
<a name="161" /><span class="Maybe">     161:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF9WVkFSX05PQ0FDSEVfMA__"><span class="b">__PAGE_KERNEL_VVAR_NOCACHE</span></a>    <span class="f">(</span><a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF9WVkFSXzA_"><span class="b">__PAGE_KERNEL_VVAR</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfUENEXzA_"><span class="b">_PAGE_PCD</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfUFdUXzA_"><span class="b">_PAGE_PWT</span></a><span class="f">)</span>
<a name="162" /><span class="Maybe">     162:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF9MQVJHRV8w"><span class="b">__PAGE_KERNEL_LARGE</span></a>        <span class="f">(</span><a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF8w"><span class="b">__PAGE_KERNEL</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfUFNFXzA_"><span class="b">_PAGE_PSE</span></a><span class="f">)</span>
<a name="163" /><span class="Maybe">     163:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF9MQVJHRV9OT0NBQ0hFXzA_"><span class="b">__PAGE_KERNEL_LARGE_NOCACHE</span></a>    <span class="f">(</span><a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF8w"><span class="b">__PAGE_KERNEL</span></a> <span class="f">|</span> <a href="cpu.c_macros_noref.html#_X1BBR0VfQ0FDSEVfVUNfMA__"><span class="b">_PAGE_CACHE_UC</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfUFNFXzA_"><span class="b">_PAGE_PSE</span></a><span class="f">)</span>
<a name="164" /><span class="Maybe">     164:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF9MQVJHRV9FWEVDXzA_"><span class="b">__PAGE_KERNEL_LARGE_EXEC</span></a>    <span class="f">(</span><a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF9FWEVDXzA_"><span class="b">__PAGE_KERNEL_EXEC</span></a> <span class="f">|</span> <a href="cpu.c_macros_ref.html#_X1BBR0VfUFNFXzA_"><span class="b">_PAGE_PSE</span></a><span class="f">)</span>
<a name="165" /><span class="Maybe">     165:</span> 
<a name="166" /><span class="Maybe">     166:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF9JT18w"><span class="b">__PAGE_KERNEL_IO</span></a>        <span class="f">(</span><a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF8w"><span class="b">__PAGE_KERNEL</span></a> <span class="f">|</span> <a href="cpu.c_macros_noref.html#_X1BBR0VfSU9NQVBfMA__"><span class="b">_PAGE_IOMAP</span></a><span class="f">)</span>
<a name="167" /><span class="Maybe">     167:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF9JT19OT0NBQ0hFXzA_"><span class="b">__PAGE_KERNEL_IO_NOCACHE</span></a>    <span class="f">(</span><a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF9OT0NBQ0hFXzA_"><span class="b">__PAGE_KERNEL_NOCACHE</span></a> <span class="f">|</span> <a href="cpu.c_macros_noref.html#_X1BBR0VfSU9NQVBfMA__"><span class="b">_PAGE_IOMAP</span></a><span class="f">)</span>
<a name="168" /><span class="Maybe">     168:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF9JT19VQ19NSU5VU18w"><span class="b">__PAGE_KERNEL_IO_UC_MINUS</span></a>    <span class="f">(</span><a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF9VQ19NSU5VU18w"><span class="b">__PAGE_KERNEL_UC_MINUS</span></a> <span class="f">|</span> <a href="cpu.c_macros_noref.html#_X1BBR0VfSU9NQVBfMA__"><span class="b">_PAGE_IOMAP</span></a><span class="f">)</span>
<a name="169" /><span class="Maybe">     169:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF9JT19XQ18w"><span class="b">__PAGE_KERNEL_IO_WC</span></a>        <span class="f">(</span><a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF9XQ18w"><span class="b">__PAGE_KERNEL_WC</span></a> <span class="f">|</span> <a href="cpu.c_macros_noref.html#_X1BBR0VfSU9NQVBfMA__"><span class="b">_PAGE_IOMAP</span></a><span class="f">)</span>
<a name="170" /><span class="Maybe">     170:</span> 
<a name="171" /><span class="Maybe">     171:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_UEFHRV9LRVJORUxfMA__"><span class="b">PAGE_KERNEL</span></a>            <a href="cpu.c_macros_ref.html#_X19wZ3Byb3RfMA__"><span class="b">__pgprot</span></a><span class="f">(</span><a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF8w"><span class="b">__PAGE_KERNEL</span></a><span class="f">)</span>
<a name="172" /><span class="Maybe">     172:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_UEFHRV9LRVJORUxfUk9fMA__"><span class="b">PAGE_KERNEL_RO</span></a>            <a href="cpu.c_macros_ref.html#_X19wZ3Byb3RfMA__"><span class="b">__pgprot</span></a><span class="f">(</span><a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF9ST18w"><span class="b">__PAGE_KERNEL_RO</span></a><span class="f">)</span>
<a name="173" /><span class="Maybe">     173:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_UEFHRV9LRVJORUxfRVhFQ18w"><span class="b">PAGE_KERNEL_EXEC</span></a>        <a href="cpu.c_macros_ref.html#_X19wZ3Byb3RfMA__"><span class="b">__pgprot</span></a><span class="f">(</span><a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF9FWEVDXzA_"><span class="b">__PAGE_KERNEL_EXEC</span></a><span class="f">)</span>
<a name="174" /><span class="Maybe">     174:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_UEFHRV9LRVJORUxfUlhfMA__"><span class="b">PAGE_KERNEL_RX</span></a>            <a href="cpu.c_macros_ref.html#_X19wZ3Byb3RfMA__"><span class="b">__pgprot</span></a><span class="f">(</span><a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF9SWF8w"><span class="b">__PAGE_KERNEL_RX</span></a><span class="f">)</span>
<a name="175" /><span class="Maybe">     175:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_UEFHRV9LRVJORUxfV0NfMA__"><span class="b">PAGE_KERNEL_WC</span></a>            <a href="cpu.c_macros_ref.html#_X19wZ3Byb3RfMA__"><span class="b">__pgprot</span></a><span class="f">(</span><a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF9XQ18w"><span class="b">__PAGE_KERNEL_WC</span></a><span class="f">)</span>
<a name="176" /><span class="Maybe">     176:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_UEFHRV9LRVJORUxfTk9DQUNIRV8w"><span class="b">PAGE_KERNEL_NOCACHE</span></a>        <a href="cpu.c_macros_ref.html#_X19wZ3Byb3RfMA__"><span class="b">__pgprot</span></a><span class="f">(</span><a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF9OT0NBQ0hFXzA_"><span class="b">__PAGE_KERNEL_NOCACHE</span></a><span class="f">)</span>
<a name="177" /><span class="Maybe">     177:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_UEFHRV9LRVJORUxfVUNfTUlOVVNfMA__"><span class="b">PAGE_KERNEL_UC_MINUS</span></a>        <a href="cpu.c_macros_ref.html#_X19wZ3Byb3RfMA__"><span class="b">__pgprot</span></a><span class="f">(</span><a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF9VQ19NSU5VU18w"><span class="b">__PAGE_KERNEL_UC_MINUS</span></a><span class="f">)</span>
<a name="178" /><span class="Maybe">     178:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_UEFHRV9LRVJORUxfRVhFQ19OT0NBQ0hFXzA_"><span class="b">PAGE_KERNEL_EXEC_NOCACHE</span></a>    <a href="cpu.c_macros_ref.html#_X19wZ3Byb3RfMA__"><span class="b">__pgprot</span></a><span class="f">(</span><a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF9FWEVDX05PQ0FDSEVfMA__"><span class="b">__PAGE_KERNEL_EXEC_NOCACHE</span></a><span class="f">)</span>
<a name="179" /><span class="Maybe">     179:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_UEFHRV9LRVJORUxfTEFSR0VfMA__"><span class="b">PAGE_KERNEL_LARGE</span></a>        <a href="cpu.c_macros_ref.html#_X19wZ3Byb3RfMA__"><span class="b">__pgprot</span></a><span class="f">(</span><a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF9MQVJHRV8w"><span class="b">__PAGE_KERNEL_LARGE</span></a><span class="f">)</span>
<a name="180" /><span class="Maybe">     180:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_UEFHRV9LRVJORUxfTEFSR0VfTk9DQUNIRV8w"><span class="b">PAGE_KERNEL_LARGE_NOCACHE</span></a>    <a href="cpu.c_macros_ref.html#_X19wZ3Byb3RfMA__"><span class="b">__pgprot</span></a><span class="f">(</span><a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF9MQVJHRV9OT0NBQ0hFXzA_"><span class="b">__PAGE_KERNEL_LARGE_NOCACHE</span></a><span class="f">)</span>
<a name="181" /><span class="Maybe">     181:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_UEFHRV9LRVJORUxfTEFSR0VfRVhFQ18w"><span class="b">PAGE_KERNEL_LARGE_EXEC</span></a>        <a href="cpu.c_macros_ref.html#_X19wZ3Byb3RfMA__"><span class="b">__pgprot</span></a><span class="f">(</span><a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF9MQVJHRV9FWEVDXzA_"><span class="b">__PAGE_KERNEL_LARGE_EXEC</span></a><span class="f">)</span>
<a name="182" /><span class="Maybe">     182:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_UEFHRV9LRVJORUxfVlNZU0NBTExfMA__"><span class="b">PAGE_KERNEL_VSYSCALL</span></a>        <a href="cpu.c_macros_ref.html#_X19wZ3Byb3RfMA__"><span class="b">__pgprot</span></a><span class="f">(</span><a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF9WU1lTQ0FMTF8w"><span class="b">__PAGE_KERNEL_VSYSCALL</span></a><span class="f">)</span>
<a name="183" /><span class="Maybe">     183:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_UEFHRV9LRVJORUxfVlZBUl8w"><span class="b">PAGE_KERNEL_VVAR</span></a>        <a href="cpu.c_macros_ref.html#_X19wZ3Byb3RfMA__"><span class="b">__pgprot</span></a><span class="f">(</span><a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF9WVkFSXzA_"><span class="b">__PAGE_KERNEL_VVAR</span></a><span class="f">)</span>
<a name="184" /><span class="Maybe">     184:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_UEFHRV9LRVJORUxfVlZBUl9OT0NBQ0hFXzA_"><span class="b">PAGE_KERNEL_VVAR_NOCACHE</span></a>    <a href="cpu.c_macros_ref.html#_X19wZ3Byb3RfMA__"><span class="b">__pgprot</span></a><span class="f">(</span><a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF9WVkFSX05PQ0FDSEVfMA__"><span class="b">__PAGE_KERNEL_VVAR_NOCACHE</span></a><span class="f">)</span>
<a name="185" /><span class="Maybe">     185:</span> 
<a name="186" /><span class="Maybe">     186:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_UEFHRV9LRVJORUxfSU9fMA__"><span class="b">PAGE_KERNEL_IO</span></a>            <a href="cpu.c_macros_ref.html#_X19wZ3Byb3RfMA__"><span class="b">__pgprot</span></a><span class="f">(</span><a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF9JT18w"><span class="b">__PAGE_KERNEL_IO</span></a><span class="f">)</span>
<a name="187" /><span class="Maybe">     187:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_UEFHRV9LRVJORUxfSU9fTk9DQUNIRV8w"><span class="b">PAGE_KERNEL_IO_NOCACHE</span></a>        <a href="cpu.c_macros_ref.html#_X19wZ3Byb3RfMA__"><span class="b">__pgprot</span></a><span class="f">(</span><a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF9JT19OT0NBQ0hFXzA_"><span class="b">__PAGE_KERNEL_IO_NOCACHE</span></a><span class="f">)</span>
<a name="188" /><span class="Maybe">     188:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_UEFHRV9LRVJORUxfSU9fVUNfTUlOVVNfMA__"><span class="b">PAGE_KERNEL_IO_UC_MINUS</span></a>        <a href="cpu.c_macros_ref.html#_X19wZ3Byb3RfMA__"><span class="b">__pgprot</span></a><span class="f">(</span><a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF9JT19VQ19NSU5VU18w"><span class="b">__PAGE_KERNEL_IO_UC_MINUS</span></a><span class="f">)</span>
<a name="189" /><span class="Maybe">     189:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_UEFHRV9LRVJORUxfSU9fV0NfMA__"><span class="b">PAGE_KERNEL_IO_WC</span></a>        <a href="cpu.c_macros_ref.html#_X19wZ3Byb3RfMA__"><span class="b">__pgprot</span></a><span class="f">(</span><a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF9JT19XQ18w"><span class="b">__PAGE_KERNEL_IO_WC</span></a><span class="f">)</span>
<a name="190" /><span class="Maybe">     190:</span> 
<a name="191" /><span class="Maybe">     191:</span> <span class="k">/*         xwr */</span>
<a name="192" /><span class="Maybe">     192:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19QMDAwXzA_"><span class="b">__P000</span></a>    <a href="cpu.c_macros_noref.html#_UEFHRV9OT05FXzA_"><span class="b">PAGE_NONE</span></a>
<a name="193" /><span class="Maybe">     193:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19QMDAxXzA_"><span class="b">__P001</span></a>    <a href="cpu.c_macros_noref.html#_UEFHRV9SRUFET05MWV8w"><span class="b">PAGE_READONLY</span></a>
<a name="194" /><span class="Maybe">     194:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19QMDEwXzA_"><span class="b">__P010</span></a>    <a href="cpu.c_macros_noref.html#_UEFHRV9DT1BZXzA_"><span class="b">PAGE_COPY</span></a>
<a name="195" /><span class="Maybe">     195:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19QMDExXzA_"><span class="b">__P011</span></a>    <a href="cpu.c_macros_noref.html#_UEFHRV9DT1BZXzA_"><span class="b">PAGE_COPY</span></a>
<a name="196" /><span class="Maybe">     196:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19QMTAwXzA_"><span class="b">__P100</span></a>    <a href="cpu.c_macros_noref.html#_UEFHRV9SRUFET05MWV9FWEVDXzA_"><span class="b">PAGE_READONLY_EXEC</span></a>
<a name="197" /><span class="Maybe">     197:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19QMTAxXzA_"><span class="b">__P101</span></a>    <a href="cpu.c_macros_noref.html#_UEFHRV9SRUFET05MWV9FWEVDXzA_"><span class="b">PAGE_READONLY_EXEC</span></a>
<a name="198" /><span class="Maybe">     198:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19QMTEwXzA_"><span class="b">__P110</span></a>    <a href="cpu.c_macros_noref.html#_UEFHRV9DT1BZX0VYRUNfMA__"><span class="b">PAGE_COPY_EXEC</span></a>
<a name="199" /><span class="Maybe">     199:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19QMTExXzA_"><span class="b">__P111</span></a>    <a href="cpu.c_macros_noref.html#_UEFHRV9DT1BZX0VYRUNfMA__"><span class="b">PAGE_COPY_EXEC</span></a>
<a name="200" /><span class="Maybe">     200:</span> 
<a name="201" /><span class="Maybe">     201:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19TMDAwXzA_"><span class="b">__S000</span></a>    <a href="cpu.c_macros_noref.html#_UEFHRV9OT05FXzA_"><span class="b">PAGE_NONE</span></a>
<a name="202" /><span class="Maybe">     202:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19TMDAxXzA_"><span class="b">__S001</span></a>    <a href="cpu.c_macros_noref.html#_UEFHRV9SRUFET05MWV8w"><span class="b">PAGE_READONLY</span></a>
<a name="203" /><span class="Maybe">     203:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19TMDEwXzA_"><span class="b">__S010</span></a>    <a href="cpu.c_macros_noref.html#_UEFHRV9TSEFSRURfMA__"><span class="b">PAGE_SHARED</span></a>
<a name="204" /><span class="Maybe">     204:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19TMDExXzA_"><span class="b">__S011</span></a>    <a href="cpu.c_macros_noref.html#_UEFHRV9TSEFSRURfMA__"><span class="b">PAGE_SHARED</span></a>
<a name="205" /><span class="Maybe">     205:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19TMTAwXzA_"><span class="b">__S100</span></a>    <a href="cpu.c_macros_noref.html#_UEFHRV9SRUFET05MWV9FWEVDXzA_"><span class="b">PAGE_READONLY_EXEC</span></a>
<a name="206" /><span class="Maybe">     206:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19TMTAxXzA_"><span class="b">__S101</span></a>    <a href="cpu.c_macros_noref.html#_UEFHRV9SRUFET05MWV9FWEVDXzA_"><span class="b">PAGE_READONLY_EXEC</span></a>
<a name="207" /><span class="Maybe">     207:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19TMTEwXzA_"><span class="b">__S110</span></a>    <a href="cpu.c_macros_noref.html#_UEFHRV9TSEFSRURfRVhFQ18w"><span class="b">PAGE_SHARED_EXEC</span></a>
<a name="208" /><span class="Maybe">     208:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19TMTExXzA_"><span class="b">__S111</span></a>    <a href="cpu.c_macros_noref.html#_UEFHRV9TSEFSRURfRVhFQ18w"><span class="b">PAGE_SHARED_EXEC</span></a>
<a name="209" /><span class="Maybe">     209:</span> 
<a name="210" /><span class="Maybe">     210:</span> <span class="k">/*</span>
<a name="211" /><span class="Maybe">     211:</span> <span class="k"> * early identity mapping  pte attrib macros.</span>
<a name="212" /><span class="Maybe">     212:</span> <span class="k"> */</span>
<a name="213" /><span class="Maybe">     213:</span> <span class="f">#</span><span class="n">ifdef</span> <a href="cpu.c_macros_ref.html#_Q09ORklHX1g4Nl82NF8w"><span class="b">CONFIG_X86_64</span></a>
<a name="214" /><span class="Maybe">     214:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF9JREVOVF9MQVJHRV9FWEVDXzA_"><span class="b">__PAGE_KERNEL_IDENT_LARGE_EXEC</span></a>    <a href="cpu.c_macros_noref.html#_X19QQUdFX0tFUk5FTF9MQVJHRV9FWEVDXzA_"><span class="b">__PAGE_KERNEL_LARGE_EXEC</span></a>
<a name="215" /><span class="False">     215:</span> <span class="f">#</span><span class="n">else</span>
<a name="216" /><span class="False">     216:</span> <span class="k">/*</span>
<a name="217" /><span class="False">     217:</span> <span class="k"> * For PDE_IDENT_ATTR include USER bit. As the PDE and PTE protection</span>
<a name="218" /><span class="False">     218:</span> <span class="k"> * bits are combined, this will alow user to access the high address mapped</span>
<a name="219" /><span class="False">     219:</span> <span class="k"> * VDSO in the presence of CONFIG_COMPAT_VDSO</span>
<a name="220" /><span class="False">     220:</span> <span class="k"> */</span>
<a name="221" /><span class="False">     221:</span> <span class="f">#</span><span class="n">define</span> <span class="b">PTE_IDENT_ATTR</span>     <span class="c">0x003</span>        <span class="k">/* PRESENT+RW */</span>
<a name="222" /><span class="False">     222:</span> <span class="f">#</span><span class="n">define</span> <span class="b">PDE_IDENT_ATTR</span>     <span class="c">0x067</span>        <span class="k">/* PRESENT+RW+USER+DIRTY+ACCESSED */</span>
<a name="223" /><span class="False">     223:</span> <span class="f">#</span><span class="n">define</span> <span class="b">PGD_IDENT_ATTR</span>     <span class="c">0x001</span>        <span class="k">/* PRESENT (no other attributes) */</span>
<a name="224" /><span class="Maybe">     224:</span> <span class="f">#</span><span class="n">endif</span>
<a name="225" /><span class="Maybe">     225:</span> 
<a name="226" /><span class="False">     226:</span> <span class="f">#</span><span class="n">ifdef</span> <span class="b">CONFIG_X86_32</span>
<a name="227" /><span class="False">     227:</span> <span class="f">#</span> <span class="n">include</span> <span class="f">&lt;</span><span class="m">asm</span><span class="f">/</span><span class="b">pgtable_32_types</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="228" /><span class="Maybe">     228:</span> <span class="f">#</span><span class="n">else</span>
<a name="229" /><span class="Maybe">     229:</span> <span class="f">#</span> <span class="n">include</span> <span class="f">&lt;</span><span class="m">asm</span><span class="f">/</span><span class="b">pgtable_64_types</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="230" /><span class="Maybe">     230:</span> <span class="f">#</span><span class="n">endif</span>
<a name="231" /><span class="Maybe">     231:</span> 
<a name="232" /><span class="Maybe">     232:</span> <span class="f">#</span><span class="n">ifndef</span> <span class="b">__ASSEMBLY__</span>
<a name="233" /><span class="Maybe">     233:</span> 
<a name="234" /><span class="Maybe">     234:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="b">linux</span><span class="f">/</span><span class="b">types</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="235" /><span class="Maybe">     235:</span> 
<a name="236" /><span class="Maybe">     236:</span> <span class="k">/* PTE_PFN_MASK extracts the PFN from a (pte|pmd|pud|pgd)val_t */</span>
<a name="237" /><span class="Maybe">     237:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_UFRFX1BGTl9NQVNLXzA_"><span class="b">PTE_PFN_MASK</span></a>        <span class="f">(</span><span class="f">(</span><span class="b">pteval_t</span><span class="f">)</span><a href="cpu.c_macros_ref.html#_UEhZU0lDQUxfUEFHRV9NQVNLXzA_"><span class="b">PHYSICAL_PAGE_MASK</span></a><span class="f">)</span>
<a name="238" /><span class="Maybe">     238:</span> 
<a name="239" /><span class="Maybe">     239:</span> <span class="k">/* PTE_FLAGS_MASK extracts the flags from a (pte|pmd|pud|pgd)val_t */</span>
<a name="240" /><span class="Maybe">     240:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_UFRFX0ZMQUdTX01BU0tfMA__"><span class="b">PTE_FLAGS_MASK</span></a>        <span class="f">(</span><span class="f">~</span><a href="cpu.c_macros_ref.html#_UFRFX1BGTl9NQVNLXzA_"><span class="b">PTE_PFN_MASK</span></a><span class="f">)</span>
<a name="241" /><span class="Maybe">     241:</span> 
<a name="242" /><span class="Maybe">     242:</span> <span class="m">typedef</span> <span class="m">struct</span> <span class="b">pgprot</span> <span class="f">{</span> <span class="b">pgprotval_t</span> <span class="b">pgprot</span><span class="f">;</span> <span class="f">}</span> <span class="b">pgprot_t</span><span class="f">;</span>
<a name="243" /><span class="Maybe">     243:</span> 
<a name="244" /><span class="Maybe">     244:</span> <span class="m">typedef</span> <span class="m">struct</span> <span class="f">{</span> <span class="b">pgdval_t</span> <span class="b">pgd</span><span class="f">;</span> <span class="f">}</span> <span class="b">pgd_t</span><span class="f">;</span>
<a name="245" /><span class="Maybe">     245:</span> 
<a name="246" /><span class="Maybe">     246:</span> <span class="m">static</span> <span class="m">inline</span> <span class="b">pgd_t</span> <span class="b">native_make_pgd</span><span class="f">(</span><span class="b">pgdval_t</span> <span class="b">val</span><span class="f">)</span>
<a name="247" /><span class="Maybe">     247:</span> <span class="f">{</span>
<a name="248" /><span class="Maybe">     248:</span>     <span class="m">return</span> <span class="f">(</span><span class="b">pgd_t</span><span class="f">)</span> <span class="f">{</span> <span class="b">val</span> <span class="f">}</span><span class="f">;</span>
<a name="249" /><span class="Maybe">     249:</span> <span class="f">}</span>
<a name="250" /><span class="Maybe">     250:</span> 
<a name="251" /><span class="Maybe">     251:</span> <span class="m">static</span> <span class="m">inline</span> <span class="b">pgdval_t</span> <span class="b">native_pgd_val</span><span class="f">(</span><span class="b">pgd_t</span> <span class="b">pgd</span><span class="f">)</span>
<a name="252" /><span class="Maybe">     252:</span> <span class="f">{</span>
<a name="253" /><span class="Maybe">     253:</span>     <span class="m">return</span> <span class="b">pgd</span><span class="f">.</span><span class="b">pgd</span><span class="f">;</span>
<a name="254" /><span class="Maybe">     254:</span> <span class="f">}</span>
<a name="255" /><span class="Maybe">     255:</span> 
<a name="256" /><span class="Maybe">     256:</span> <span class="m">static</span> <span class="m">inline</span> <span class="b">pgdval_t</span> <span class="b">pgd_flags</span><span class="f">(</span><span class="b">pgd_t</span> <span class="b">pgd</span><span class="f">)</span>
<a name="257" /><span class="Maybe">     257:</span> <span class="f">{</span>
<a name="258" /><span class="Maybe">     258:</span>     <span class="m">return</span> <span class="b">native_pgd_val</span><span class="f">(</span><span class="b">pgd</span><span class="f">)</span> <span class="f">&amp;</span> <a href="cpu.c_macros_ref.html#_UFRFX0ZMQUdTX01BU0tfMA__"><span class="b">PTE_FLAGS_MASK</span></a><span class="f">;</span>
<a name="259" /><span class="Maybe">     259:</span> <span class="f">}</span>
<a name="260" /><span class="Maybe">     260:</span> 
<a name="261" /><span class="Maybe">     261:</span> <span class="f">#</span><span class="n">if</span> <a href="cpu.c_macros_ref.html#_UEFHRVRBQkxFX0xFVkVMU18w"><span class="b">PAGETABLE_LEVELS</span></a> <span class="f">&gt;</span> <span class="c">3</span>
<a name="262" /><span class="Maybe">     262:</span> <span class="m">typedef</span> <span class="m">struct</span> <span class="f">{</span> <span class="b">pudval_t</span> <span class="b">pud</span><span class="f">;</span> <span class="f">}</span> <span class="b">pud_t</span><span class="f">;</span>
<a name="263" /><span class="Maybe">     263:</span> 
<a name="264" /><span class="Maybe">     264:</span> <span class="m">static</span> <span class="m">inline</span> <span class="b">pud_t</span> <span class="b">native_make_pud</span><span class="f">(</span><span class="b">pmdval_t</span> <span class="b">val</span><span class="f">)</span>
<a name="265" /><span class="Maybe">     265:</span> <span class="f">{</span>
<a name="266" /><span class="Maybe">     266:</span>     <span class="m">return</span> <span class="f">(</span><span class="b">pud_t</span><span class="f">)</span> <span class="f">{</span> <span class="b">val</span> <span class="f">}</span><span class="f">;</span>
<a name="267" /><span class="Maybe">     267:</span> <span class="f">}</span>
<a name="268" /><span class="Maybe">     268:</span> 
<a name="269" /><span class="Maybe">     269:</span> <span class="m">static</span> <span class="m">inline</span> <span class="b">pudval_t</span> <span class="b">native_pud_val</span><span class="f">(</span><span class="b">pud_t</span> <span class="b">pud</span><span class="f">)</span>
<a name="270" /><span class="Maybe">     270:</span> <span class="f">{</span>
<a name="271" /><span class="Maybe">     271:</span>     <span class="m">return</span> <span class="b">pud</span><span class="f">.</span><span class="b">pud</span><span class="f">;</span>
<a name="272" /><span class="Maybe">     272:</span> <span class="f">}</span>
<a name="273" /><span class="False">     273:</span> <span class="f">#</span><span class="n">else</span>
<a name="274" /><span class="False">     274:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="m">asm</span><span class="f">-</span><span class="b">generic</span><span class="f">/</span><span class="b">pgtable</span><span class="f">-</span><span class="b">nopud</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="275" /><span class="False">     275:</span> 
<a name="276" /><span class="False">     276:</span> <span class="m">static</span> <span class="m">inline</span> <span class="b">pudval_t</span> <span class="b">native_pud_val</span><span class="f">(</span><span class="b">pud_t</span> <span class="b">pud</span><span class="f">)</span>
<a name="277" /><span class="False">     277:</span> <span class="f">{</span>
<a name="278" /><span class="False">     278:</span>     <span class="m">return</span> <span class="b">native_pgd_val</span><span class="f">(</span><span class="b">pud</span><span class="f">.</span><span class="b">pgd</span><span class="f">)</span><span class="f">;</span>
<a name="279" /><span class="False">     279:</span> <span class="f">}</span>
<a name="280" /><span class="Maybe">     280:</span> <span class="f">#</span><span class="n">endif</span>
<a name="281" /><span class="Maybe">     281:</span> 
<a name="282" /><span class="Maybe">     282:</span> <span class="f">#</span><span class="n">if</span> <a href="cpu.c_macros_ref.html#_UEFHRVRBQkxFX0xFVkVMU18w"><span class="b">PAGETABLE_LEVELS</span></a> <span class="f">&gt;</span> <span class="c">2</span>
<a name="283" /><span class="Maybe">     283:</span> <span class="m">typedef</span> <span class="m">struct</span> <span class="f">{</span> <span class="b">pmdval_t</span> <span class="b">pmd</span><span class="f">;</span> <span class="f">}</span> <span class="b">pmd_t</span><span class="f">;</span>
<a name="284" /><span class="Maybe">     284:</span> 
<a name="285" /><span class="Maybe">     285:</span> <span class="m">static</span> <span class="m">inline</span> <span class="b">pmd_t</span> <span class="b">native_make_pmd</span><span class="f">(</span><span class="b">pmdval_t</span> <span class="b">val</span><span class="f">)</span>
<a name="286" /><span class="Maybe">     286:</span> <span class="f">{</span>
<a name="287" /><span class="Maybe">     287:</span>     <span class="m">return</span> <span class="f">(</span><span class="b">pmd_t</span><span class="f">)</span> <span class="f">{</span> <span class="b">val</span> <span class="f">}</span><span class="f">;</span>
<a name="288" /><span class="Maybe">     288:</span> <span class="f">}</span>
<a name="289" /><span class="Maybe">     289:</span> 
<a name="290" /><span class="Maybe">     290:</span> <span class="m">static</span> <span class="m">inline</span> <span class="b">pmdval_t</span> <span class="b">native_pmd_val</span><span class="f">(</span><span class="b">pmd_t</span> <span class="b">pmd</span><span class="f">)</span>
<a name="291" /><span class="Maybe">     291:</span> <span class="f">{</span>
<a name="292" /><span class="Maybe">     292:</span>     <span class="m">return</span> <span class="b">pmd</span><span class="f">.</span><span class="b">pmd</span><span class="f">;</span>
<a name="293" /><span class="Maybe">     293:</span> <span class="f">}</span>
<a name="294" /><span class="False">     294:</span> <span class="f">#</span><span class="n">else</span>
<a name="295" /><span class="False">     295:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="m">asm</span><span class="f">-</span><span class="b">generic</span><span class="f">/</span><span class="b">pgtable</span><span class="f">-</span><span class="b">nopmd</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="296" /><span class="False">     296:</span> 
<a name="297" /><span class="False">     297:</span> <span class="m">static</span> <span class="m">inline</span> <span class="b">pmdval_t</span> <span class="b">native_pmd_val</span><span class="f">(</span><span class="b">pmd_t</span> <span class="b">pmd</span><span class="f">)</span>
<a name="298" /><span class="False">     298:</span> <span class="f">{</span>
<a name="299" /><span class="False">     299:</span>     <span class="m">return</span> <span class="b">native_pgd_val</span><span class="f">(</span><span class="b">pmd</span><span class="f">.</span><span class="b">pud</span><span class="f">.</span><span class="b">pgd</span><span class="f">)</span><span class="f">;</span>
<a name="300" /><span class="False">     300:</span> <span class="f">}</span>
<a name="301" /><span class="Maybe">     301:</span> <span class="f">#</span><span class="n">endif</span>
<a name="302" /><span class="Maybe">     302:</span> 
<a name="303" /><span class="Maybe">     303:</span> <span class="m">static</span> <span class="m">inline</span> <span class="b">pudval_t</span> <span class="b">pud_flags</span><span class="f">(</span><span class="b">pud_t</span> <span class="b">pud</span><span class="f">)</span>
<a name="304" /><span class="Maybe">     304:</span> <span class="f">{</span>
<a name="305" /><span class="Maybe">     305:</span>     <span class="m">return</span> <span class="b">native_pud_val</span><span class="f">(</span><span class="b">pud</span><span class="f">)</span> <span class="f">&amp;</span> <a href="cpu.c_macros_ref.html#_UFRFX0ZMQUdTX01BU0tfMA__"><span class="b">PTE_FLAGS_MASK</span></a><span class="f">;</span>
<a name="306" /><span class="Maybe">     306:</span> <span class="f">}</span>
<a name="307" /><span class="Maybe">     307:</span> 
<a name="308" /><span class="Maybe">     308:</span> <span class="m">static</span> <span class="m">inline</span> <span class="b">pmdval_t</span> <span class="b">pmd_flags</span><span class="f">(</span><span class="b">pmd_t</span> <span class="b">pmd</span><span class="f">)</span>
<a name="309" /><span class="Maybe">     309:</span> <span class="f">{</span>
<a name="310" /><span class="Maybe">     310:</span>     <span class="m">return</span> <span class="b">native_pmd_val</span><span class="f">(</span><span class="b">pmd</span><span class="f">)</span> <span class="f">&amp;</span> <a href="cpu.c_macros_ref.html#_UFRFX0ZMQUdTX01BU0tfMA__"><span class="b">PTE_FLAGS_MASK</span></a><span class="f">;</span>
<a name="311" /><span class="Maybe">     311:</span> <span class="f">}</span>
<a name="312" /><span class="Maybe">     312:</span> 
<a name="313" /><span class="Maybe">     313:</span> <span class="m">static</span> <span class="m">inline</span> <span class="b">pte_t</span> <span class="b">native_make_pte</span><span class="f">(</span><span class="b">pteval_t</span> <span class="b">val</span><span class="f">)</span>
<a name="314" /><span class="Maybe">     314:</span> <span class="f">{</span>
<a name="315" /><span class="Maybe">     315:</span>     <span class="m">return</span> <span class="f">(</span><span class="b">pte_t</span><span class="f">)</span> <span class="f">{</span> <span class="f">.</span><span class="b">pte</span> <span class="f">=</span> <span class="b">val</span> <span class="f">}</span><span class="f">;</span>
<a name="316" /><span class="Maybe">     316:</span> <span class="f">}</span>
<a name="317" /><span class="Maybe">     317:</span> 
<a name="318" /><span class="Maybe">     318:</span> <span class="m">static</span> <span class="m">inline</span> <span class="b">pteval_t</span> <span class="b">native_pte_val</span><span class="f">(</span><span class="b">pte_t</span> <span class="b">pte</span><span class="f">)</span>
<a name="319" /><span class="Maybe">     319:</span> <span class="f">{</span>
<a name="320" /><span class="Maybe">     320:</span>     <span class="m">return</span> <span class="b">pte</span><span class="f">.</span><span class="b">pte</span><span class="f">;</span>
<a name="321" /><span class="Maybe">     321:</span> <span class="f">}</span>
<a name="322" /><span class="Maybe">     322:</span> 
<a name="323" /><span class="Maybe">     323:</span> <span class="m">static</span> <span class="m">inline</span> <span class="b">pteval_t</span> <span class="b">pte_flags</span><span class="f">(</span><span class="b">pte_t</span> <span class="b">pte</span><span class="f">)</span>
<a name="324" /><span class="Maybe">     324:</span> <span class="f">{</span>
<a name="325" /><span class="Maybe">     325:</span>     <span class="m">return</span> <span class="b">native_pte_val</span><span class="f">(</span><span class="b">pte</span><span class="f">)</span> <span class="f">&amp;</span> <a href="cpu.c_macros_ref.html#_UFRFX0ZMQUdTX01BU0tfMA__"><span class="b">PTE_FLAGS_MASK</span></a><span class="f">;</span>
<a name="326" /><span class="Maybe">     326:</span> <span class="f">}</span>
<a name="327" /><span class="Maybe">     327:</span> 
<a name="328" /><span class="Maybe">     328:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_cGdwcm90X3ZhbF8w"><span class="b">pgprot_val</span></a><span class="f">(</span><span class="b">x</span><span class="f">)</span>    <span class="f">(</span><span class="f">(</span><span class="b">x</span><span class="f">)</span><span class="f">.</span><span class="b">pgprot</span><span class="f">)</span>
<a name="329" /><span class="Maybe">     329:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19wZ3Byb3RfMA__"><span class="b">__pgprot</span></a><span class="f">(</span><span class="b">x</span><span class="f">)</span>    <span class="f">(</span><span class="f">(</span><span class="b">pgprot_t</span><span class="f">)</span> <span class="f">{</span> <span class="f">(</span><span class="b">x</span><span class="f">)</span> <span class="f">}</span> <span class="f">)</span>
<a name="330" /><span class="Maybe">     330:</span> 
<a name="331" /><span class="Maybe">     331:</span> 
<a name="332" /><span class="Maybe">     332:</span> <span class="m">typedef</span> <span class="m">struct</span> <span class="b">page</span> <span class="f">*</span><span class="b">pgtable_t</span><span class="f">;</span>
<a name="333" /><span class="Maybe">     333:</span> 
<a name="334" /><span class="Maybe">     334:</span> <span class="m">extern</span> <span class="b">pteval_t</span> <span class="b">__supported_pte_mask</span><span class="f">;</span>
<a name="335" /><span class="Maybe">     335:</span> <span class="m">extern</span> <span class="m">void</span> <span class="b">set_nx</span><span class="f">(</span><span class="m">void</span><span class="f">)</span><span class="f">;</span>
<a name="336" /><span class="Maybe">     336:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">nx_enabled</span><span class="f">;</span>
<a name="337" /><span class="Maybe">     337:</span> 
<a name="338" /><span class="Maybe">     338:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_cGdwcm90X3dyaXRlY29tYmluZV8w"><span class="b">pgprot_writecombine</span></a>    <a href="cpu.c_macros_ref.html#_cGdwcm90X3dyaXRlY29tYmluZV8w"><span class="b">pgprot_writecombine</span></a>
<a name="339" /><span class="Maybe">     339:</span> <span class="m">extern</span> <span class="b">pgprot_t</span> <a href="cpu.c_macros_ref.html#_cGdwcm90X3dyaXRlY29tYmluZV8w"><span class="b">pgprot_writecombine</span></a><span class="f">(</span><span class="b">pgprot_t</span> <span class="b">prot</span><span class="f">)</span><span class="f">;</span>
<a name="340" /><span class="Maybe">     340:</span> 
<a name="341" /><span class="Maybe">     341:</span> <span class="k">/* Indicate that x86 has its own track and untrack pfn vma functions */</span>
<a name="342" /><span class="Maybe">     342:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19IQVZFX1BGTk1BUF9UUkFDS0lOR18w"><span class="b">__HAVE_PFNMAP_TRACKING</span></a>
<a name="343" /><span class="Maybe">     343:</span> 
<a name="344" /><span class="Maybe">     344:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19IQVZFX1BIWVNfTUVNX0FDQ0VTU19QUk9UXzA_"><span class="b">__HAVE_PHYS_MEM_ACCESS_PROT</span></a>
<a name="345" /><span class="Maybe">     345:</span> <span class="m">struct</span> <span class="b">file</span><span class="f">;</span>
<a name="346" /><span class="Maybe">     346:</span> <span class="b">pgprot_t</span> <span class="b">phys_mem_access_prot</span><span class="f">(</span><span class="m">struct</span> <span class="b">file</span> <span class="f">*</span><span class="b">file</span><span class="f">,</span> <span class="m">unsigned</span> <span class="m">long</span> <span class="b">pfn</span><span class="f">,</span>
<a name="347" /><span class="Maybe">     347:</span>                               <span class="m">unsigned</span> <span class="m">long</span> <span class="b">size</span><span class="f">,</span> <span class="b">pgprot_t</span> <span class="b">vma_prot</span><span class="f">)</span><span class="f">;</span>
<a name="348" /><span class="Maybe">     348:</span> <span class="m">int</span> <span class="b">phys_mem_access_prot_allowed</span><span class="f">(</span><span class="m">struct</span> <span class="b">file</span> <span class="f">*</span><span class="b">file</span><span class="f">,</span> <span class="m">unsigned</span> <span class="m">long</span> <span class="b">pfn</span><span class="f">,</span>
<a name="349" /><span class="Maybe">     349:</span>                               <span class="m">unsigned</span> <span class="m">long</span> <span class="b">size</span><span class="f">,</span> <span class="b">pgprot_t</span> <span class="f">*</span><span class="b">vma_prot</span><span class="f">)</span><span class="f">;</span>
<a name="350" /><span class="Maybe">     350:</span> 
<a name="351" /><span class="Maybe">     351:</span> <span class="k">/* Install a pte for a particular vaddr in kernel space. */</span>
<a name="352" /><span class="Maybe">     352:</span> <span class="m">void</span> <span class="b">set_pte_vaddr</span><span class="f">(</span><span class="m">unsigned</span> <span class="m">long</span> <span class="b">vaddr</span><span class="f">,</span> <span class="b">pte_t</span> <span class="b">pte</span><span class="f">)</span><span class="f">;</span>
<a name="353" /><span class="Maybe">     353:</span> 
<a name="354" /><span class="False">     354:</span> <span class="f">#</span><span class="n">ifdef</span> <span class="b">CONFIG_X86_32</span>
<a name="355" /><span class="False">     355:</span> <span class="m">extern</span> <span class="m">void</span> <a href="cpu.c_macros_noref.html#_bmF0aXZlX3BhZ2V0YWJsZV9pbml0XzA_"><span class="b">native_pagetable_init</span></a><span class="f">(</span><span class="m">void</span><span class="f">)</span><span class="f">;</span>
<a name="356" /><span class="Maybe">     356:</span> <span class="f">#</span><span class="n">else</span>
<a name="357" /><span class="Maybe">     357:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_bmF0aXZlX3BhZ2V0YWJsZV9pbml0XzA_"><span class="b">native_pagetable_init</span></a>        <span class="b">paging_init</span>
<a name="358" /><span class="Maybe">     358:</span> <span class="f">#</span><span class="n">endif</span>
<a name="359" /><span class="Maybe">     359:</span> 
<a name="360" /><span class="Maybe">     360:</span> <span class="m">struct</span> <span class="b">seq_file</span><span class="f">;</span>
<a name="361" /><span class="Maybe">     361:</span> <span class="m">extern</span> <span class="m">void</span> <span class="b">arch_report_meminfo</span><span class="f">(</span><span class="m">struct</span> <span class="b">seq_file</span> <span class="f">*</span><span class="b">m</span><span class="f">)</span><span class="f">;</span>
<a name="362" /><span class="Maybe">     362:</span> 
<a name="363" /><span class="Maybe">     363:</span> <span class="m">enum</span> <span class="b">pg_level</span> <span class="f">{</span>
<a name="364" /><span class="Maybe">     364:</span>     <span class="b">PG_LEVEL_NONE</span><span class="f">,</span>
<a name="365" /><span class="Maybe">     365:</span>     <span class="b">PG_LEVEL_4K</span><span class="f">,</span>
<a name="366" /><span class="Maybe">     366:</span>     <span class="b">PG_LEVEL_2M</span><span class="f">,</span>
<a name="367" /><span class="Maybe">     367:</span>     <span class="b">PG_LEVEL_1G</span><span class="f">,</span>
<a name="368" /><span class="Maybe">     368:</span>     <span class="b">PG_LEVEL_NUM</span>
<a name="369" /><span class="Maybe">     369:</span> <span class="f">}</span><span class="f">;</span>
<a name="370" /><span class="Maybe">     370:</span> 
<a name="371" /><span class="Maybe">     371:</span> <span class="f">#</span><span class="n">ifdef</span> <a href="cpu.c_macros_ref.html#_Q09ORklHX1BST0NfRlNfMA__"><span class="b">CONFIG_PROC_FS</span></a>
<a name="372" /><span class="Maybe">     372:</span> <span class="m">extern</span> <span class="m">void</span> <span class="b">update_page_count</span><span class="f">(</span><span class="m">int</span> <span class="b">level</span><span class="f">,</span> <span class="m">unsigned</span> <span class="m">long</span> <span class="b">pages</span><span class="f">)</span><span class="f">;</span>
<a name="373" /><span class="False">     373:</span> <span class="f">#</span><span class="n">else</span>
<a name="374" /><span class="False">     374:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">void</span> <span class="b">update_page_count</span><span class="f">(</span><span class="m">int</span> <span class="b">level</span><span class="f">,</span> <span class="m">unsigned</span> <span class="m">long</span> <span class="b">pages</span><span class="f">)</span> <span class="f">{</span> <span class="f">}</span>
<a name="375" /><span class="Maybe">     375:</span> <span class="f">#</span><span class="n">endif</span>
<a name="376" /><span class="Maybe">     376:</span> 
<a name="377" /><span class="Maybe">     377:</span> <span class="k">/*</span>
<a name="378" /><span class="Maybe">     378:</span> <span class="k"> * Helper function that returns the kernel pagetable entry controlling</span>
<a name="379" /><span class="Maybe">     379:</span> <span class="k"> * the virtual address &apos;address&apos;. NULL means no pagetable entry present.</span>
<a name="380" /><span class="Maybe">     380:</span> <span class="k"> * NOTE: the return type is pte_t but if the pmd is PSE then we return it</span>
<a name="381" /><span class="Maybe">     381:</span> <span class="k"> * as a pte too.</span>
<a name="382" /><span class="Maybe">     382:</span> <span class="k"> */</span>
<a name="383" /><span class="Maybe">     383:</span> <span class="m">extern</span> <span class="b">pte_t</span> <span class="f">*</span><span class="b">lookup_address</span><span class="f">(</span><span class="m">unsigned</span> <span class="m">long</span> <span class="b">address</span><span class="f">,</span> <span class="m">unsigned</span> <span class="m">int</span> <span class="f">*</span><span class="b">level</span><span class="f">)</span><span class="f">;</span>
<a name="384" /><span class="Maybe">     384:</span> <span class="m">extern</span> <span class="b">phys_addr_t</span> <span class="b">slow_virt_to_phys</span><span class="f">(</span><span class="m">void</span> <span class="f">*</span><span class="b">__address</span><span class="f">)</span><span class="f">;</span>
<a name="385" /><span class="Maybe">     385:</span> 
<a name="386" /><span class="Maybe">     386:</span> <span class="f">#</span><span class="n">endif</span>    <span class="k">/* !__ASSEMBLY__ */</span>
<a name="387" /><span class="Maybe">     387:</span> 
<a name="388" /><span class="True">     388:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* _ASM_X86_PGTABLE_DEFS_H */</span>
<a name="389" /><span class="True">     389:</span> </pre>
  </body>
</html>
